package iteratorPattern;

import java.util.ArrayList;
import java.util.List;

/**
 * 具体抽象类：维护具体的实体列表，以及实体的管理
 */
public class StudentIteratorImpl implements StudentIterator{

    // 初始化操作由外部完成（聚合类），这里只做管理
    private List<Student> students ;
    // 列表位置
    int position = 0;

    // 构造迭代器
    public StudentIteratorImpl(List<Student> students) {
        this.students = students;
    }

    @Override
    public boolean hasNext() {
        return position < students.size();
    }

    @Override
    public Student next() {
        return students.get(position++);
    }
}
